//
//  QQModelObject.h
//  QQModelObject
//
//  Created by dereklin on 3/14/15.
//  Copyright © 2015 Tencent. All rights reserved.
//

#import "QQAutoModel.h"

@class QQModelObject;
typedef void(^QQModelObjectBuilder)(__kindof QQModelObject *object);

@interface QQModelObject : QQAutoModel

/// 默认为 NO，若子类重写改方法返回 YES，则所有动态 property 的 setter 方法都会被禁用
+ (BOOL)immutableByDefault;

+ (BOOL)releaseDynamicProperty;

+ (instancetype)newWithBuilder:(QQModelObjectBuilder)builder;

- (instancetype)mutateWithBuilder:(QQModelObjectBuilder)builder;

@end
